/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.cip.esymons.colegiatura.beans;

//import cip.util.ControladorAbstracto;
import java.util.ArrayList;
import java.util.List;
import org.cip.esymons.colegiatura.adapters.ExportarExcel;
import org.cip.esymons.colegiatura.adapters.RutaCarpetaReporte;
import org.cip.esymons.colegiatura.bc.PreInscripcionDelegate;
import org.cip.esymons.colegiatura.be.Preinscripcion;
import org.cip.esymons.general.util.ControladorAbstracto;

/**
 *
 * @author ADMINISTRADOR
 */
public class generarExcel {


    private PreInscripcionDelegate delegadoPreinscripcion;
    RutaCarpetaReporte ruta;
    List<Preinscripcion> listaPreinscritoFechaConDireccion;
    private int EstadoTramite;
    private int sede;

    public generarExcel() {
        inicializar();
    }

    private void inicializar() {

        ruta = new RutaCarpetaReporte();
        listaPreinscritoFechaConDireccion = new ArrayList<Preinscripcion>();
        delegadoPreinscripcion = new PreInscripcionDelegate();
        EstadoTramite = 0;
        sede = 15;

    }

    public int getEstadoTramite() {
        return EstadoTramite;
    }

    public void setEstadoTramite(int EstadoTramite) {
        this.EstadoTramite = EstadoTramite;
    }

    public PreInscripcionDelegate getDelegadoPreinscripcion() {
        return delegadoPreinscripcion;
    }

    public void setDelegadoPreinscripcion(PreInscripcionDelegate delegadoPreinscripcion) {
        this.delegadoPreinscripcion = delegadoPreinscripcion;
    }

    public List<Preinscripcion> getListaPreinscritoFechaConDireccion() {
        return listaPreinscritoFechaConDireccion;
    }

    public void setListaPreinscritoFechaConDireccion(List<Preinscripcion> listaPreinscritoFechaConDireccion) {
        this.listaPreinscritoFechaConDireccion = listaPreinscritoFechaConDireccion;
    }

    public int getSede() {
        return sede;
    }

    public void setSede(int sede) {
        this.sede = sede;
    }

    @SuppressWarnings("static-access")
    public String generarDocumentoExcel() {
        listaPreinscritoFechaConDireccion.clear();
        try {
            reportesController rp = (reportesController) ControladorAbstracto.getBean("reportesController");
            listaPreinscritoFechaConDireccion = null;
            listaPreinscritoFechaConDireccion = delegadoPreinscripcion.listaPreinscritoPorFechaConDireccion(rp.getFechaIni(),rp.getFechaFin());

            System.out.print("-Tamanio---" + listaPreinscritoFechaConDireccion.size());

            if (listaPreinscritoFechaConDireccion.size() > 0) {
                String rutaPlantilla = "", archGenerado = "";
                rutaPlantilla = ruta.getRuta() + "preInscritosCN1.xls";
                archGenerado = ruta.getRuta() + "ListaPreInscritosCN.xls";
                ExportarExcel export = new ExportarExcel();
                try {
                    export.generarDocDesdePlantilla(rutaPlantilla, archGenerado);
                    int i = 1;
                    for (Preinscripcion pre : listaPreinscritoFechaConDireccion) {
//                        System.out.print("--res1--" +det.getResultado1())
                        System.out.println("nombre "+pre.getPerCodigo().getPerNombres());
                        export.addCeldaString(i, 1, pre.getPerCodigo().getPerNombres());
                        export.addCeldaString(i, 2, pre.getPerCodigo().getPerapellidoPaterno());
                        export.addCeldaString(i, 3, pre.getPerCodigo().getPerapellidoMaterno());
                        export.addCeldaBoolean(i, 4, pre.getPerCodigo().getPerSexo());
                        export.addCeldaString(i, 5, pre.getPerCodigo().getPerfechaNacimiento().toString());
//                        export.addCeldaInteger(i, 8, pre.getPerCodigo().getPerestadoCivil());
//                        export.addCeldaString(i, 9, pre.getPerCodigo().getNacionalidad().getNacNombre());
//                        export.addCeldaString(i, 10, pre.getPerCodigo().getPerNroDNI());
//                        export.addCeldaString(i, 11, pre.getPerCodigo().getSolRUC());
//                        export.addCeldaString(i, 12, pre.getPerCodigo().getPerNroPasaporte());
//                        export.addCeldaString(i, 13, pre.getPerCodigo().getSolcorreopersonal1());
//                        export.addCeldaString(i, 14, pre.getPerCodigo().getSolcorreopersonal2());
//                        export.addCeldaString(i, 15, pre.getPerCodigo().getSolPagweb());
//                        export.addCeldaString(i, 16, pre.getDireccion().getDisCodigo().getProCodigo().getDepCodigo().getDepNombre());
//                        export.addCeldaString(i, 17, pre.getDireccion().getDisCodigo().getProCodigo().getProNombre());
//                        export.addCeldaString(i, 18, pre.getDireccion().getDisCodigo().getDisNombre());
//                        export.addCeldaString(i, 19, pre.getDireccion().getDpeDireccion());
//                        export.addCeldaString(i, 20, pre.getTelefono().getTsoCodciudad()+" - "+pre.getTelefono().getTsoNumero());
//                        export.addCeldaString(i, 21, pre.getCelular().getTsoCodciudad()+" - "+pre.getCelular().getTsoNumero());
//                        export.addCeldaString(i, 22, pre.getEmpCodigo().getEmprazonSocial());
//                        export.addCeldaString(i, 23, pre.getDireccionEmp().getDpeDireccion());
//                        export.addCeldaString(i, 24, pre.getDireccionEmp().getDisCodigo().getProCodigo().getDepCodigo().getDepNombre());
//                        export.addCeldaString(i, 25, pre.getDireccionEmp().getDisCodigo().getProCodigo().getProNombre());
//                        export.addCeldaString(i, 26, pre.getDireccionEmp().getDisCodigo().getDisNombre());
//                        export.addCeldaString(i, 27, pre.getTelefonoEmp().getTsoCodciudad()+" - "+pre.getTelefonoEmp().getTsoNumero());
//                        export.addCeldaString(i, 28, pre.getPerCodigo().getSolcorreoempresa());
//                        export.addCeldaString(i, 29, pre.getFopCodigo().getEspCodigo().getEscuela().getFacultad().getUniversidad().getUniNombre());
//                        export.addCeldaString(i, 30, pre.getFopCodigo().getTitulo().getTitNombre());
//                        export.addCeldaString(i, 31, pre.getFopCodigo().getFopFechaprom().toString());
//                        export.addCeldaString(i, 32, pre.getFopCodigo().getFopfechaResGrado().toString());
//                        export.addCeldaString(i, 33, pre.getFopCodigo().getFopresRecNum());
//                        export.addCeldaString(i, 34, pre.getFopCodigo().getFopresRecFolio());
//                        export.addCeldaString(i, 35, pre.getFopCodigo().getFopresRecHoja());
//                        export.addCeldaString(i, 36, pre.getFopCodigo().getFopresRecFecha().toString());
//                        export.addCeldaString(i, 37, pre.getFopCodigo().getFoprevInstitucion());
//                        export.addCeldaString(i, 38, pre.getFopCodigo().getFoprevNumero());
//                        export.addCeldaString(i, 39, pre.getFopCodigo().getFoprevFecha().toString());
//                        export.addCeldaString(i, 40, pre.getFopCodigo().getFopresolANRnum());
//                        export.addCeldaString(i, 41, pre.getFopCodigo().getFopresolANRfecha().toString());
//                        export.addCeldaInteger(i, 42, getEstadoTramite());
//                        export.addCeldaInteger(i, 43, getSede());

                        i++;
                    }
                    ruta.generarExcel(archGenerado, export.cerrarConexion());
                } catch (Exception e) {
                    ruta.generarExcel(archGenerado, export.cerrarConexion());
                    System.out.print("----" + e.toString());
                }
            } else {
                ruta.error("Deben existir datos en la Lista para exportar");
            }
        } catch (Exception e) {
            System.out.println("----Error---" + e.toString());
        }
        return null;
    }

}
